home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / RIncludes / Appearance.r < prev    next >
Encoding:
Text File  |  1997-08-12  |  25.3 KB  |  669 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Appearance.r
  3.  
  4.      Contains:    Appearance Manager & SDK Interfaces.
  5.  
  6.      Version:    Technology:    Appearance 1.0
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1994-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18.  
  19. #ifndef __APPEARANCE_R__
  20. #define __APPEARANCE_R__
  21.  
  22. #ifndef __CONDITIONALMACROS_R__
  23. #include "ConditionalMacros.r"
  24. #endif
  25.  
  26.                                                             /*  Appearance Trap Number  */
  27. #define _AppearanceDispatch             0xAA74
  28. #define gestaltAppearanceAttr             'appr'
  29. #define gestaltAppearanceExists         0
  30. #define gestaltAppearanceCompatMode     1
  31.  
  32. #define appearanceBadBrushIndexErr         (-30560)            /*  pattern index invalid  */
  33. #define appearanceProcessRegisteredErr     (-30561)
  34. #define appearanceProcessNotRegisteredErr  (-30562)
  35. #define appearanceBadTextColorIndexErr     (-30563)
  36.  
  37. #define kThemeActiveDialogBackgroundBrush  1                /*  Dialogs  */
  38. #define kThemeInactiveDialogBackgroundBrush  2                /*  Dialogs  */
  39. #define kThemeActiveAlertBackgroundBrush  3
  40. #define kThemeInactiveAlertBackgroundBrush  4
  41. #define kThemeActiveModelessDialogBackgroundBrush  5
  42. #define kThemeInactiveModelessDialogBackgroundBrush  6
  43. #define kThemeActiveUtilityWindowBackgroundBrush  7            /*  Miscellaneous  */
  44. #define kThemeInactiveUtilityWindowBackgroundBrush  8        /*  Miscellaneous  */
  45. #define kThemeListViewSortColumnBackgroundBrush  9            /*  Finder  */
  46. #define kThemeListViewBackgroundBrush     10
  47. #define kThemeIconLabelBackgroundBrush     11
  48. #define kThemeListViewSeparatorBrush     12
  49. #define kThemeChasingArrowsBrush         13
  50. #define kThemeDragHiliteBrush             14
  51. #define kThemeDocumentWindowBackgroundBrush  15
  52. #define kThemeFinderWindowBackgroundBrush  16
  53.  
  54. #define kThemeActiveDialogTextColor     1                    /*  Dialogs  */
  55. #define kThemeInactiveDialogTextColor     2
  56. #define kThemeActiveAlertTextColor         3
  57. #define kThemeInactiveAlertTextColor     4
  58. #define kThemeActiveModelessDialogTextColor  5
  59. #define kThemeInactiveModelessDialogTextColor  6
  60. #define kThemeActiveWindowHeaderTextColor  7                /*  Primitives  */
  61. #define kThemeInactiveWindowHeaderTextColor  8
  62. #define kThemeActivePlacardTextColor     9                    /*  Primitives  */
  63. #define kThemeInactivePlacardTextColor     10
  64. #define kThemePressedPlacardTextColor     11
  65. #define kThemeActivePushButtonTextColor  12                    /*  Primitives  */
  66. #define kThemeInactivePushButtonTextColor  13
  67. #define kThemePressedPushButtonTextColor  14
  68. #define kThemeActiveBevelButtonTextColor  15                /*  Primitives  */
  69. #define kThemeInactiveBevelButtonTextColor  16
  70. #define kThemePressedBevelButtonTextColor  17
  71. #define kThemeActivePopupButtonTextColor  18                /*  Primitives  */
  72. #define kThemeInactivePopupButtonTextColor  19
  73. #define kThemePressedPopupButtonTextColor  20
  74. #define kThemeIconLabelTextColor         21                    /*  Finder  */
  75. #define kThemeListViewTextColor         22
  76.  
  77. #define kThemeStateDisabled             0
  78. #define kThemeStateActive                 1
  79. #define kThemeStatePressed                 2
  80.  
  81.                                                             /*  Resource IDs for new window defprocs  */
  82. #define kWindowDocumentDefProcResID     64
  83. #define kWindowDialogDefProcResID         65
  84. #define kWindowUtilityDefProcResID         66
  85. #define kWindowUtilitySideTitleDefProcResID  67
  86.  
  87.                                                             /*  Proc IDs for theme-savvy windows  */
  88. #define kWindowDocumentProc             1024
  89. #define kWindowGrowDocumentProc         1025
  90. #define kWindowHorizZoomDocumentProc     1026
  91. #define kWindowHorizZoomGrowDocumentProc  1027
  92. #define kWindowVertZoomDocumentProc     1028
  93. #define kWindowVertZoomGrowDocumentProc  1029
  94. #define kWindowFullZoomDocumentProc     1030
  95. #define kWindowFullZoomGrowDocumentProc  1031
  96.  
  97.                                                             /*  Proc IDs for theme-savvy dialogs  */
  98. #define kWindowPlainDialogProc             1040
  99. #define kWindowShadowDialogProc         1041
  100. #define kWindowModalDialogProc             1042
  101. #define kWindowMovableModalDialogProc     1043
  102. #define kWindowAlertProc                 1044
  103. #define kWindowMovableAlertProc         1045
  104.  
  105.                                                             /*  Proc IDs for top title bar theme-savvy floating windows  */
  106. #define kWindowFloatProc                 1057
  107. #define kWindowFloatGrowProc             1059
  108. #define kWindowFloatHorizZoomProc         1061
  109. #define kWindowFloatHorizZoomGrowProc     1063
  110. #define kWindowFloatVertZoomProc         1065
  111. #define kWindowFloatVertZoomGrowProc     1067
  112. #define kWindowFloatFullZoomProc         1069
  113. #define kWindowFloatFullZoomGrowProc     1071
  114.  
  115.                                                             /*  Proc IDs for side title bar theme-savvy floating windows  */
  116. #define kWindowFloatSideProc             1073
  117. #define kWindowFloatSideGrowProc         1075
  118. #define kWindowFloatSideHorizZoomProc     1077
  119. #define kWindowFloatSideHorizZoomGrowProc  1079
  120. #define kWindowFloatSideVertZoomProc     1081
  121. #define kWindowFloatSideVertZoomGrowProc  1083
  122. #define kWindowFloatSideFullZoomProc     1085
  123. #define kWindowFloatSideFullZoomGrowProc  1087
  124.  
  125.                                                             /*  Region values to pass into GetWindowRegion  */
  126. #define kWindowTitleBarRgn                 0
  127. #define kWindowTitleTextRgn             1
  128. #define kWindowCloseBoxRgn                 2
  129. #define kWindowZoomBoxRgn                 3
  130. #define kWindowDragRgn                     5
  131. #define kWindowGrowRgn                     6
  132. #define kWindowCollapseBoxRgn             7
  133. #define kWindowStructureRgn             32
  134. #define kWindowContentRgn                 33
  135.  
  136.                                                             /*  Window Features returned by GetWindowFeatures  */
  137. #define kWindowCanGrow                     0x01
  138. #define kWindowCanZoom                     0x02
  139. #define kWindowCanCollapse                 0x04
  140. #define kWindowIsModal                     0x08
  141. #define kWindowCanGetWindowRegion         0x10
  142. #define kWindowIsAlert                     0x20
  143. #define kWindowHasTitleBar                 0x40
  144.  
  145.                                                             /*  New window messages  */
  146. #define kWindowMsgGetFeatures             7
  147. #define kWindowMsgGetRegion             8
  148.  
  149.                                                             /*  New Window part codes  */
  150. #define inCollapseBox                     11
  151.                                                             /*  Window Definition hit test result codes ("WindowPart") */
  152. #define wInCollapseBox                     9
  153. #define kWindowDefaultPosition             0x0000
  154. #define kWindowCenterMainScreen         0x280A
  155. #define kWindowAlertPositionMainScreen     0x300A
  156. #define kWindowStaggerMainScreen         0x380A
  157. #define kWindowCenterParentWindow         0xA80A
  158. #define kWindowAlertPositionParentWindow  0xB00A
  159. #define kWindowStaggerParentWindow         0xB80A
  160. #define kWindowCenterParentWindowScreen  0x680A
  161. #define kWindowAlertPositionParentWindowScreen  0x700A
  162. #define kWindowStaggerParentWindowScreen  0x780A
  163.  
  164.                                                             /*  Alert types to pass into StandardAlert  */
  165. #define kAlertStopAlert                 0
  166. #define kAlertNoteAlert                 1
  167. #define kAlertCautionAlert                 2
  168. #define kAlertPlainAlert                 3
  169.  
  170. #define kAlertDefaultOKText             (-1)                /*  "OK" */
  171. #define kAlertDefaultCancelText         (-1)                /*  "Cancel" */
  172. #define kAlertDefaultOtherText             (-1)                /*  "Don't Save" */
  173.  
  174. #define kAlertStdAlertOKButton             1
  175. #define kAlertStdAlertCancelButton         2
  176. #define kAlertStdAlertOtherButton         3
  177. #define kAlertStdAlertHelpButton         4
  178.  
  179.                                                             /*  Dialog Flags for use in NewFeaturesDialog or dlgx resource  */
  180. #define kDialogFlagsUseThemeBackground     0x01
  181. #define kDialogFlagsUseControlHierarchy  0x02
  182. #define kDialogFlagsHandleMovableModal     0x04
  183. #define kDialogFlagsUseThemeControls     0x08
  184.  
  185.                                                             /*  Alert Flags for use in alrx resource  */
  186. #define kAlertFlagsUseThemeBackground     0x01
  187. #define kAlertFlagsUseControlHierarchy     0x02
  188. #define kAlertFlagsAlertIsMovable         0x04
  189. #define kAlertFlagsUseThemeControls     0x08
  190.  
  191. #define kDialogFontNoFontStyle             0
  192. #define kDialogFontUseFontMask             0x0001
  193. #define kDialogFontUseFaceMask             0x0002
  194. #define kDialogFontUseSizeMask             0x0004
  195. #define kDialogFontUseForeColorMask     0x0008
  196. #define kDialogFontUseBackColorMask     0x0010
  197. #define kDialogFontUseModeMask             0x0020
  198. #define kDialogFontUseJustMask             0x0040
  199. #define kDialogFontUseAllMask             0x00FF
  200. #define kDialogFontAddFontSizeMask         0x0100
  201. #define kDialogFontUseFontMaskMask         0x0200
  202.  
  203. #define _ControlDispatch                 0xAA73
  204.                                                             /*  resource types for new controls  */
  205. #define kControlTabListResType             'tab#'                /*  used for tab control only */
  206. #define kControlListDescResType         'ldes'                /*  used for list box control only */
  207.  
  208.                                                             /*  new part codes for new controls  */
  209. #define kControlEditTextPart             5
  210. #define kControlPicturePart             6
  211. #define kControlIconPart                 7
  212. #define kControlClockPart                 8
  213. #define kControlListBoxPart             24
  214. #define kControlListBoxDoubleClickPart     25
  215.  
  216. #define kControlSupportsNewMessages     ' ok '                /*  CDEF should return as result of kControlMsgTestNewMsgSupport */
  217. #define kControlFocusNoPart             0                    /*  tells control to clear its focus */
  218. #define kControlFocusNextPart             (-1)                /*  tells control to focus on the next part */
  219. #define kControlFocusPrevPart             (-2)                /*  tells control to focus on the previous part */
  220.  
  221. #define kControlKeyFilterBlockKey         0
  222. #define kControlKeyFilterPassKey         1
  223.  
  224.                                                             /*  Meta-font numbering - see not above  */
  225. #define kControlFontBigSystemFont         (-1)                /*  force to big system font */
  226. #define kControlFontSmallSystemFont     (-2)                /*  force to small system font */
  227. #define kControlFontSmallBoldSystemFont  (-3)                /*  force to small bold system font */
  228.  
  229. #define kControlUseFontMask             0x0001
  230. #define kControlUseFaceMask             0x0002
  231. #define kControlUseSizeMask             0x0004
  232. #define kControlUseForeColorMask         0x0008
  233. #define kControlUseBackColorMask         0x0010
  234. #define kControlUseModeMask             0x0020
  235. #define kControlUseJustMask             0x0040
  236. #define kControlUseAllMask                 0x00FF
  237. #define kControlAddFontSizeMask         0x0100
  238.  
  239. #define kControlFontStyleTag             'font'
  240. #define kControlKeyFilterTag             'fltr'
  241.  
  242. #define errMessageNotSupported             (-30580)
  243. #define errDataNotSupported             (-30581)
  244. #define errControlDoesntSupportFocus     (-30582)
  245. #define errWindowDoesntSupportFocus     (-30583)
  246. #define errUnknownControl                 (-30584)
  247. #define errCouldntSetFocus                 (-30585)
  248. #define errNoRootControl                 (-30586)
  249. #define errRootAlreadyExists             (-30587)
  250. #define errInvalidPartCode                 (-30588)
  251. #define errControlsAlreadyExist         (-30589)
  252. #define errControlIsNotEmbedder         (-30590)
  253. #define errDataSizeMismatch             (-30591)
  254. #define errControlHiddenOrDisabled         (-30592)
  255. #define errWindowRegionCodeInvalid         (-30593)
  256. #define errCantEmbedIntoSelf             (-30594)
  257. #define errCantEmbedRoot                 (-30595)
  258. #define errItemNotControl                 (-30596)
  259.  
  260.                                                             /*  Control feature bits - returned by GetControlFeatures  */
  261. #define kControlSupportsGhosting         0x01
  262. #define kControlSupportsEmbedding         0x02
  263. #define kControlSupportsFocus             0x04
  264. #define kControlWantsIdle                 0x08
  265. #define kControlWantsActivate             0x10
  266. #define kControlHandlesTracking         0x20
  267. #define kControlSupportsDataAccess         0x40
  268. #define kControlHasSpecialBackground     0x80
  269. #define kControlGetsFocusOnClick         0x0100
  270. #define kControlSupportsCalcBestRect     0x0200
  271. #define kControlSupportsLiveFeedback     0x0400
  272.  
  273.                                                             /*  Control Messages  */
  274. #define kControlMsgDrawGhost             13
  275. #define kControlMsgCalcBestRect         14                    /*  Calculate best fitting rectangle for control */
  276. #define kControlMsgHandleTracking         15
  277. #define kControlMsgFocus                 16                    /*  param indicates action. */
  278. #define kControlMsgKeyDown                 17
  279. #define kControlMsgIdle                 18
  280. #define kControlMsgGetFeatures             19
  281. #define kControlMsgSetData                 20
  282. #define kControlMsgGetData                 21
  283. #define kControlMsgActivate             22
  284. #define kControlMsgSetUpBackground         23
  285. #define kControlMsgCalcValue             24
  286. #define kControlMsgSubControlHit         25
  287. #define kControlMsgCalcValueFromPos     26
  288. #define kControlMsgTestNewMsgSupport     27                    /*  See if this control supports new messaging */
  289.  
  290.                                                             /*  Bevel Button Proc IDs  */
  291. #define kControlBevelButtonSmallBevelProc  32
  292. #define kControlBevelButtonNormalBevelProc  33
  293. #define kControlBevelButtonLargeBevelProc  34
  294.  
  295.                                                             /*  Bevel button graphic alignment values  */
  296. #define kControlBevelButtonAlignSysDirection  (-1)            /*  only left or right */
  297. #define kControlBevelButtonAlignCenter     0
  298. #define kControlBevelButtonAlignLeft     1
  299. #define kControlBevelButtonAlignRight     2
  300. #define kControlBevelButtonAlignTop     3
  301. #define kControlBevelButtonAlignBottom     4
  302. #define kControlBevelButtonAlignTopLeft  5
  303. #define kControlBevelButtonAlignBottomLeft  6
  304. #define kControlBevelButtonAlignTopRight  7
  305. #define kControlBevelButtonAlignBottomRight  8
  306.  
  307.                                                             /*  Bevel button text alignment values  */
  308. #define kControlBevelButtonAlignTextSysDirection  0
  309. #define kControlBevelButtonAlignTextCenter  1
  310. #define kControlBevelButtonAlignTextFlushRight  (-1)
  311. #define kControlBevelButtonAlignTextFlushLeft  (-2)
  312.  
  313.                                                             /*  Bevel button text placement values  */
  314. #define kControlBevelButtonPlaceSysDirection  (-1)            /*  if graphic on right, then on left */
  315. #define kControlBevelButtonPlaceNormally  0
  316. #define kControlBevelButtonPlaceToRightOfGraphic  1
  317. #define kControlBevelButtonPlaceToLeftOfGraphic  2
  318. #define kControlBevelButtonPlaceBelowGraphic  3
  319. #define kControlBevelButtonPlaceAboveGraphic  4
  320.  
  321. #define kControlBevelButtonSmallBevelVariant  0
  322. #define kControlBevelButtonNormalBevelVariant  0x01
  323. #define kControlBevelButtonLargeBevelVariant  0x02
  324. #define kControlBevelButtonMenuOnRight     0x04
  325.  
  326. #define kControlBehaviorPushbutton         0
  327. #define kControlBehaviorToggles         0x0100
  328. #define kControlBehaviorSticky             0x0200
  329. #define kControlBehaviorMultiValueMenu     0x4000                /*  only makes sense when a menu is attached. */
  330. #define kControlBehaviorOffsetContents     0x8000
  331.  
  332. #define kControlContentTextOnly         0
  333. #define kControlContentIconSuiteRes     1
  334. #define kControlContentCIconRes         2
  335. #define kControlContentPictRes             3
  336. #define kControlContentIconSuiteHandle     129
  337. #define kControlContentCIconHandle         130
  338. #define kControlContentPictHandle         131
  339. #define kControlContentIconRef             132
  340.  
  341. #define kControlBevelButtonContentTag     'cont'                /*  ButtonContentInfo */
  342. #define kControlBevelButtonTransformTag  'tran'                /*  IconTransformType */
  343. #define kControlBevelButtonTextAlignTag  'tali'                /*  ButtonTextAlignment */
  344. #define kControlBevelButtonTextOffsetTag  'toff'            /*  SInt16 */
  345. #define kControlBevelButtonGraphicAlignTag  'gali'            /*  ButtonGraphicAlignment */
  346. #define kControlBevelButtonGraphicOffsetTag  'goff'            /*  Point */
  347. #define kControlBevelButtonTextPlaceTag  'tplc'                /*  ButtonTextPlacement */
  348. #define kControlBevelButtonMenuValueTag  'mval'                /*  SInt16 */
  349. #define kControlBevelButtonMenuHandleTag  'mhnd'            /*  MenuHandle */
  350.  
  351.                                                             /*  Slider proc IDs  */
  352. #define kControlSliderProc                 48
  353. #define kControlSliderLiveFeedback         0x01
  354. #define kControlSliderHasTickMarks         0x02
  355. #define kControlSliderReverseDirection     0x04
  356. #define kControlSliderNonDirectional     0x08
  357.  
  358.                                                             /*  Triangle proc IDs  */
  359. #define kControlTriangleProc             64
  360. #define kControlTriangleLeftFacingProc     65
  361. #define kControlTriangleAutoToggleProc     66
  362. #define kControlTriangleLeftFacingAutoToggleProc  67
  363.  
  364.                                                             /*  Tagged data supported by disclosure triangles  */
  365. #define kControlTriangleLastValueTag     'last'                /*  SInt16 */
  366.                                                             /*  Progress Bar proc IDs  */
  367. #define kControlProgressBarProc         80
  368.                                                             /*  Tagged data supported by progress bars  */
  369. #define kControlProgressBarIndeterminateTag  'inde'            /*  Boolean */
  370.                                                             /*  Little Arrows proc IDs  */
  371. #define kControlLittleArrowsProc         96
  372.                                                             /*  Chasing Arrows proc IDs  */
  373. #define kControlChasingArrowsProc         112
  374.                                                             /*  Tabs proc IDs  */
  375. #define kControlTabLargeProc             128                    /*  Large tab size     */
  376. #define kControlTabSmallProc             129                    /*  Small tab size     */
  377.  
  378.                                                             /*  Tagged data supported by progress bars  */
  379. #define kControlTabContentRectTag         'rect'                /*  Rect */
  380. #define kControlTabEnabledFlagTag         'enab'                /*  Boolean */
  381. #define kControlTabFontStyleTag         'font'                /*  ControlFontStyleRec */
  382.  
  383.                                                             /*  Visual separator proc IDs  */
  384. #define kControlSeparatorLineProc         144
  385.                                                             /*  Group Box proc IDs  */
  386. #define kControlGroupBoxTextTitleProc     160
  387. #define kControlGroupBoxCheckBoxProc     161
  388. #define kControlGroupBoxPopupButtonProc  162
  389. #define kControlGroupBoxSecondaryTextTitleProc  164
  390. #define kControlGroupBoxSecondaryCheckBoxProc  165
  391. #define kControlGroupBoxSecondaryPopupButtonProc  166
  392.  
  393.                                                             /*  Tagged data supported by group box  */
  394. #define kControlGroupBoxMenuHandleTag     'mhan'                /*  MenuHandle (popup title only) */
  395. #define kControlGroupBoxFontStyleTag     'font'                /*  ControlFontStyleRec */
  396.  
  397.                                                             /*  Image Well proc IDs  */
  398. #define kControlImageWellProc             176
  399. #define kControlImageWellAutoTrackProc     177
  400.  
  401.                                                             /*  Tagged data supported by image wells  */
  402. #define kControlImageWellContentTag     'cont'                /*  ButtonContentInfo */
  403. #define kControlImageWellTransformTag     'tran'                /*  IconTransformType */
  404.  
  405.                                                             /*  Popup Arrow proc IDs  */
  406. #define kControlPopupArrowEastProc         192
  407. #define kControlPopupArrowWestProc         193
  408. #define kControlPopupArrowNorthProc     194
  409. #define kControlPopupArrowSouthProc     195
  410. #define kControlPopupArrowSmallEastProc  196
  411. #define kControlPopupArrowSmallWestProc  197
  412. #define kControlPopupArrowSmallNorthProc  198
  413. #define kControlPopupArrowSmallSouthProc  199
  414.  
  415.                                                             /*  Placard proc IDs  */
  416. #define kControlPlacardProc             224
  417.                                                             /*  Clock proc IDs  */
  418. #define kControlClockTimeProc             240
  419. #define kControlClockTimeSecondsProc     241
  420. #define kControlClockDateProc             242
  421. #define kControlClockMonthYearProc         243
  422.  
  423. #define kControlClockNoFlags             0
  424. #define kControlClockIsDisplayOnly         1
  425. #define kControlClockIsLive             2
  426.  
  427.                                                             /*  Tagged data supported by clocks  */
  428. #define kControlClockLongDateTag         'date'                /*  LongDateRec */
  429. #define kControlClockFontStyleTag         'font'                /*  ControlFontStyleRec */
  430.  
  431.                                                             /*  User Pane proc IDs  */
  432. #define kControlUserPaneProc             256
  433. #define kControlUserItemDrawProcTag     'uidp'                /*  UserItemUPP */
  434. #define kControlUserPaneDrawProcTag     'draw'                /*  ControlUserPaneDrawingUPP */
  435. #define kControlUserPaneHitTestProcTag     'hitt'                /*  ControlUserPaneHitTestUPP */
  436. #define kControlUserPaneTrackingProcTag  'trak'                /*  ControlUserPaneTrackingUPP */
  437. #define kControlUserPaneIdleProcTag     'idle'                /*  ControlUserPaneIdleUPP */
  438. #define kControlUserPaneKeyDownProcTag     'keyd'                /*  ControlUserPaneKeyDownUPP */
  439. #define kControlUserPaneActivateProcTag  'acti'                /*  ControlUserPaneActivateUPP */
  440. #define kControlUserPaneFocusProcTag     'foci'                /*  ControlUserPaneFocusUPP */
  441. #define kControlUserPaneBackgroundProcTag  'back'            /*  ControlUserPaneBackgroundUPP */
  442.  
  443.                                                             /*  Edit Text proc IDs  */
  444. #define kControlEditTextProc             272
  445. #define kControlEditTextDialogProc         273
  446. #define kControlEditTextPasswordProc     274
  447.  
  448.                                                             /*  Tagged data supported by edit text  */
  449. #define kControlEditTextStyleTag         'font'                /*  ControlFontStyleRec */
  450. #define kControlEditTextTextTag         'text'                /*  Buffer of chars - you supply the buffer */
  451. #define kControlEditTextTEHandleTag     'than'                /*  The TEHandle of the text edit record */
  452. #define kControlEditTextKeyFilterTag     'fltr'
  453. #define kControlEditTextSelectionTag     'sele'                /*  EditTextSelectionRec */
  454. #define kControlEditTextPasswordTag     'pass'                /*  The clear text password text */
  455.  
  456. #define kControlStaticTextProc             288
  457. #define kControlStaticTextStyleTag         'font'                /*  ControlFontStyleRec */
  458. #define kControlStaticTextTextTag         'text'                /*  Copy of text */
  459. #define kControlStaticTextTextHeightTag  'thei'                /*  SInt16 */
  460.  
  461.                                                             /*  Picture control proc IDs  */
  462. #define kControlPictureProc             304
  463. #define kControlPictureNoTrackProc         305                    /*  immediately returns kControlPicturePart */
  464.  
  465. #define kControlIconProc                 320
  466. #define kControlIconNoTrackProc         321                    /*  immediately returns kControlIconPart */
  467. #define kControlIconSuiteProc             322
  468. #define kControlIconSuiteNoTrackProc     323                    /*  immediately returns kControlIconPart */
  469.  
  470. #define kControlIconTransformTag         'trfm'                /*  IconTransformType */
  471. #define kControlIconAlignmentTag         'algn'                /*  IconAlignmentType */
  472.  
  473.                                                             /*  Window Header proc IDs  */
  474. #define kControlWindowHeaderProc         336                    /*  normal header */
  475. #define kControlWindowListViewHeaderProc  337                /*  variant for list views - no bottom line */
  476.  
  477.                                                             /*  List Box proc IDs  */
  478. #define kControlListBoxProc             352
  479. #define kControlListBoxAutoSizeProc     353
  480.  
  481.                                                             /*  Tagged data supported by list box  */
  482. #define kControlListBoxListHandleTag     'lhan'                /*  ListHandle */
  483. #define kControlListBoxKeyFilterTag     'fltr'                /*  ControlKeyFilterUPP */
  484. #define kControlListBoxFontStyleTag     'font'                /*  ControlFontStyleRec */
  485.  
  486.                                                             /*  Theme Push Button/Check Box/Radio Button proc IDs  */
  487. #define kControlPushButtonProc             368
  488. #define kControlCheckBoxProc             369
  489. #define kControlRadioButtonProc         370
  490. #define kControlPushButLeftIconProc     374                    /*  Standard pushbutton with left-side icon */
  491. #define kControlPushButRightIconProc     375                    /*  Standard pushbutton with right-side icon */
  492.  
  493.                                                             /*  Tagged data supported by standard buttons  */
  494. #define kControlPushButtonDefaultTag     'dflt'                /*  default ring flag */
  495.                                                             /*  Theme Scroll Bar proc IDs  */
  496. #define kControlScrollBarProc             384                    /*  normal scroll bar */
  497. #define kControlScrollBarLiveProc         386                    /*  live scrolling variant */
  498.  
  499.                                                             /*  Theme Popup Button proc IDs  */
  500. #define kControlPopupButtonProc         400
  501. #define kControlPopupFixedWidthVariant     0x01
  502. #define kControlPopupVariableWidthVariant  0x02
  503. #define kControlPopupUseAddResMenuVariant  0x04
  504. #define kControlPopupUseWFontVariant     0x08
  505.  
  506. #define kMenuStdMenuProc                 63
  507. #define kMenuStdMenuBarProc             63
  508.  
  509. #define kMenuNoModifiers                 0                    /*  Mask for no modifiers */
  510. #define kMenuShiftModifier                 0x01                /*  Mask for shift key modifier */
  511. #define kMenuOptionModifier             0x02                /*  Mask for option key modifier */
  512. #define kMenuControlModifier             0x04                /*  Mask for control key modifier */
  513. #define kMenuNoCommandModifier             0x08                /*  Mask for no command key modifier */
  514.  
  515. #define kMenuNoIcon                     0                    /*  No icon */
  516. #define kMenuIconType                     1                    /*  Type for ICON */
  517. #define kMenuShrinkIconType             2                    /*  Type for ICON plotted 16 x 16 */
  518. #define kMenuSmallIconType                 3                    /*  Type for SICN */
  519. #define kMenuColorIconType                 4                    /*  Type for cicn */
  520. #define kMenuIconSuiteType                 5                    /*  Type for Icon Suite */
  521. #define kMenuIconRefType                 6                    /*  Type for Icon Ref */
  522.  
  523. /*----------------------------alrx • Extended Alert Template---------------------------*/
  524. type 'alrx'
  525. {
  526.     switch
  527.     {
  528.         case latestVersion:
  529.             key integer=0;
  530.  
  531.             unsigned longint;                /* flags */
  532.             longint;                        /* refCon */
  533.             byte        kUseClassicWindow,
  534.                         kUseThemeWindow;    /* Window type */
  535.             fill byte;                        /* filler */
  536.             pstring;                        /* title (movable only) */
  537.     };
  538. };
  539.  
  540. /*----------------------------dlgx • Extended Dialog Template---------------------------*/
  541. type 'dlgx'
  542. {
  543.     switch
  544.     {
  545.         case latestVersion:
  546.             key integer=0;
  547.  
  548.             unsigned longint;                /* flags */
  549.     };
  550. };
  551.  
  552. /*--------------------------ldes • List Box Description Template------------------------*/
  553. /*    Used in conjunction with the list box control.                                      */
  554.  
  555. type 'ldes'
  556. {
  557.     switch
  558.     {
  559.         case latestVersion:
  560.             key integer = 0;    /* version */
  561.  
  562.             integer;                                                /* Rows                    */
  563.             integer;                                                /* Columns                */
  564.             integer;                                                 /* Cell Height            */
  565.             integer;                                                /* Cell Width            */
  566.             byte            noVertScroll, hasVertScroll;            /* Vert Scroll            */
  567.             fill byte;                                                /* Filler Byte            */
  568.             byte            noHorizScroll, hasHorizScroll;            /* Horiz Scroll            */
  569.             fill byte;                                                /* Filler Byte            */
  570.             integer;                                                /* LDEF Res ID            */
  571.             byte            noGrowSpace, hasGrowSpace;                /* HasGrow?                */
  572.             fill byte;
  573.     };
  574. };
  575.  
  576. /*-------------------------------tab# • Tab Control Template-----------------------------*/
  577. type 'tab#'
  578. {
  579.     switch
  580.     {
  581.         case latestVersion:
  582.             key integer = 0;    /* version */
  583.  
  584.             integer = $$Countof(TabInfo);
  585.             array TabInfo
  586.             {
  587.                 integer;                                            /* Icon Suite ID        */
  588.                 pstring;                                            /* Tab Name                */
  589.                 fill long;                                            /* Reserved                */
  590.                 fill word;                                            /* Reserved                */
  591.             };
  592.     };
  593. };
  594.  
  595. /*-----------------------------dftb • Dialog Control Font Table--------------------------*/
  596. type 'dftb'
  597. {
  598.     switch
  599.     {
  600.         case latestVersion:
  601.             key integer = 0;    /* version */
  602.  
  603.             integer = $$Countof(FontStyle);
  604.             array FontStyle
  605.             {
  606.                 switch
  607.                 {
  608.                     case skipItem:
  609.                         key integer=0;
  610.                         
  611.                     case dataItem:
  612.                         key integer=1;integer;                                /* Flags        */
  613.                         integer;                                            /* Font ID        */
  614.                         integer;                                            /* Font Size    */
  615.                         integer;                                            /* Font Style    */
  616.                         integer;                                            /* Text Mode    */
  617.                         integer;                                            /* Justification */
  618.  
  619.                         unsigned integer;                                    /* ForeColor:    red        */
  620.                         unsigned integer;                                    /*                green    */
  621.                         unsigned integer;                                    /*                blue    */
  622.  
  623.                         unsigned integer;                                    /* BackColor:    red        */
  624.                         unsigned integer;                                    /*                green    */
  625.                         unsigned integer;                                    /*                blue    */
  626.  
  627.                         pstring;                                            /* Font Name */
  628.                 };
  629.             };
  630.     };
  631. };
  632.  
  633. /*-------------------------------xmnu • Extended menu resource---------------------------*/
  634. type 'xmnu'
  635. {
  636.     switch
  637.     {
  638.         case latestVersion:
  639.             key integer = 0;    /* version */
  640.  
  641.             integer = $$Countof(ItemExtensions);
  642.             array ItemExtensions
  643.             {
  644.                 switch
  645.                 {
  646.                     case skipItem:
  647.                         key integer=0;
  648.                         
  649.                     case dataItem:
  650.                         key integer=1;
  651.                         unsigned longint;                        /* Command ID */
  652.                         unsigned hex byte;                        /* modifiers */
  653.                         fill byte;                                /* icon type placeholder */
  654.                         fill long;                                /* icon handle placeholder */
  655.                         unsigned longint sysScript=-1,            /* text encoding */
  656.                                          currScript=-2;            /*     (use currScript for default)*/
  657.                         unsigned longint;                        /* refCon */
  658.                         unsigned longint;                        /* refCon2 */
  659.                         unsigned integer noHierID=0;            /* hierarchical menu ID */
  660.                         unsigned integer sysFont=0;                /* font ID */
  661.                         integer naturalGlyph=0;                    /* keyboard glyph */
  662.                 };
  663.             };
  664.     };
  665. };
  666.  
  667. #endif /* __APPEARANCE_R__ */
  668.  
  669.